This patent application claims priority based on a Japanese patent application, H10-321041 filed on Nov. 11, 1998, and H10-285783 filed on Oct. 7, 1998, the contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to an image processing apparatus which recognizes the characteristics of a semiconductor wafer pattern image that is stored in a semiconductor wafer manufacturing process and the characteristics of the wire pattern image of a print substrate or the like.
2. Description of Related Art
In a manufacturing/inspection process of a print substrate or a semiconductor wafer, when a defect or a foreign object is generated on the surface of the substrate, the defect or foreign object is observed using a SEM (Scanning Electronic Microscope) or the like. The observation result is then stored as image data. Many of the stored images of defect have similar structures. When observing a wafer image, if one wishes to see similar images stored in the image file, the only available option is to search for similar images one after another through the image file based on one""s memory. Moreover, the characteristics of the image data are difficult to represent using simple numerical values. Therefore, the characteristics of the image data are recognizable only to the person who has observed the image. Hence, it is not easy to share the image data with another person. There is an increasing demand for an image processing apparatus capable of searching for the image data of a semiconductor chip automatically and efficiently.
When a defective portion of a semiconductor chip is observed using a SEM or the like, it can be seen that a regular wire pattern is arranged in a prescribed direction, and an irregular pattern such as a foreign object and open/short patterns exists in the regular wire pattern. In order to analyze specific characteristics of the defect in detail, the observer rotates or magnifies or shrinks the image. If the background wire pattern containing the defect is rotated, the image processing apparatus cannot recognize that the rotated image is identical to the original image. Therefore, the image processing apparatus cannot search for the image data automatically. For this reason, the direction of the background wire pattern needs to be held constant, that is, the image needs to be standardized. The image can be standardized by specifying the direction of the given wire pattern, that is, the inclination of the wire pattern.
Conventionally, the inclination of the wire pattern of an image of a photograph of a print substrate or a semiconductor that has been photographed using a SEM or the like and input is specified primarily using a template matching technique.
FIG. 1 is a conceptual picture of a process for specifying the inclination of a wire pattern using a template matching technique. First, an edge detection process is performed for the original image as shown in FIG. 1(a) to create a binary image as shown in FIG. 1(b). An edge detection filter is an image processing device which detects positions at which the luminance of a gray scale image changes rapidly. For example, a Sobel operator or the like is used as an edge detection filter. The edge detection filter for gray scale images is explained in detail, for example, in Pattern Classification and Scene Analysis, by R. O. Duda and P. E. Hart, Wiley, 1971. The image shown in FIG. 1(b) obtained using the edge detection filter is converted into a binary image as follows. The edge portions of defective spots and the wire pattern are represented by pixel value 1. All the other portions of the image shown in FIG. 1(b) are represented by pixel value 0. Next, templates for comparing with the image in which edges have been detected are prepared.
FIGS. 1(c) and (d) show examples of template images. The template images are also binary images. In these images also, the pixel values of the straight lines in FIGS. 1(c) and (d) are 1 and the pixel values of all the other portions are 0. Straight line templates inclined in various directions are prepared to construct a correlation image of the edge detection image shown in FIG. 1(b). That is, the correlation image of the edge detection image shown in FIG. 1(b) is constructed by multiplying the pixel value of each pixel of the edge detection image with the pixel value of the corresponding pixel of the template image. As a result, only when both the pixel values of the pixels of the edge detection image and the pixel values of the pixels of the template image corresponding to the pixels of the edge detection image are non-zero, the pixel values of the corresponding pixels of the correlation image become non-zero. The pixel values of all the other pixels of the correlation image become zero.
As shown in FIG. 1(d), when a figure exists at the same position and same direction on the template image as in the edge detection image, many pixels having non-zero pixel values appear on the correlation image as shown in FIG. 1(f). Therefore, a threshold value is set to the number of pixels whose pixel values are non-zero on the correlation image. When the number of pixels whose pixel values are non-zero exceeds the threshold value, it is judged that the corresponding template figure exists. For example, eight straight lines having the same slope are detected from the image shown in FIG. 1(b). In a semiconductor wafer image, multiple straight lines having the same slope form a wire pattern. Therefore, the slope of the wire pattern can be specified by the above-described process.
Since the conventional template matching method uses an edge detection filter for a pre-process, the image of the wafer pattern as the object of observation needs to be clear. For example, as in the case of FIG. 2(a), if the edge portion of the wire pattern is unclear, the edge cannot be detected by the conventional edge detection filter as shown in FIG. 2(b). Even if the template matching process is performed on the image shown in FIG. 2(b), straight lines cannot be detected. Hence, the inclination of the wire pattern cannot be specified.
Moreover, the conventional template matching method is very time consuming. For example, the amount of operation required to detect an image having the image size of N pixels xc3x97N pixels, the resolution for specifying the inclination of the wire pattern of 5xc2x0 unit over the range between 0xc2x0 and 180xc2x0 will be shown in what follows. When a Sobel 3xc3x973 operator and a threshold value process are used for the edge detection filter, both the multiplication and the addition require 3xc3x973xc3x97N2 steps, and the condition processing operation requires N2 steps. Next, in the template matching process, (multiplicationxc3x97N2+additionxc3x97N2+condition process)xc3x97(180÷5)xc3x97N2 steps are required. In total, both the multiplication and the addition require 9N2(1+4N2) steps, and the condition processing operation requires 37N2 steps. Since the number of steps the multiplication and the addition require are proportional to the 4-th power of the image size N, the processing time increases rapidly as the image size is increased.
Given these problems, it is an object of the present invention to provide an image processing apparatus capable of specifying the inclination of an object of detection even from an unclear image whose edge cannot be detected by the conventional template matching method. It is also an object of the present invention to provide an image processing apparatus capable of specifying at high speed the inclination of an object of detection even from a large image which takes a long length of time for the conventional template matching method to process. These objectives are achieved by a combination of characteristics described in the independent claims of the present invention. Moreover, the dependent claims of the present invention determine further advantageous embodiments of the present invention.
To solve these problems, according to the first aspect of the invention, an image processing apparatus for detecting the inclination of an object is provided. This image processing apparatus has a read means which reads the object and outputs image data, an amount of change calculation means which calculates the sum of the amounts of change of the image data of the object in at least one direction, and an inclination calculation means which calculates the inclination of the object based on the sum calculated by the amount of change calculation means.
According to the second aspect of the invention, another image processing apparatus as described in the first aspect of the invention is provided. The amount of change calculation means of this image processing apparatus has a means which calculates differences between pixel values of a plurality of pixels in the one direction at a plurality of locations in the image data, and sums up the differences between the pixel values of the plurality of pixels to calculate the sum calculated in at least the one direction. Moreover, when the number of pixels of the image data, the difference between the pixel values, and the sum are represented by N, I, and ELH, respectively, the inclination calculation means calculates the inclination substantially based on the equations
xcex8=arctan(4/3xe2x88x92(8NELH)/(3I2)), 0xc2x0xe2x89xa6xcex8xe2x89xa645xc2x0
xcex8=arctan(I2/8NELH), 45xc2x0xe2x89xa6xcex8xe2x89xa690xc2x0.
According to the third aspect of the invention, further another image processing apparatus as described in the first aspect of the invention is provided. The amount of change calculation means of this image processing apparatus has a means which calculates the sum calculated in a first direction in the object and the sum calculated in a second direction that is perpendicular to the first direction in the object. Moreover, the inclination calculation means has a means which calculates the inclination of the object using the ratio between the sum calculated in the first direction and the sum calculated in the second direction.
According to the fourth aspect of the invention, further another image processing apparatus as described in the third aspect of the invention is provided. The amount of change calculation means of this image processing apparatus calculates differences between pixel values of a plurality of pixels in at least the one direction at a plurality of locations in the image data, and sums up the differences between the pixel values of the plurality of pixels to calculate the sum calculated in at least the one direction. Moreover, when the number of pixels of the image data, the amount of change of the image data between two pixels of the image data, the sum calculated in the first direction, and the sum calculated in the second direction are represented by N, I, EHL, and ELH, respectively, the inclination calculation means calculates the inclination substantially based on the equations
Rxe2x80x2=ELH/(EHL+ELH)
xcex8=arctan((4xe2x88x924Rxe2x80x2)/(3xe2x88x922Rxe2x80x2)), 0xc2x0xe2x89xa6xcex8xe2x89xa645xc2x0
xcex8=arctan((2Rxe2x80x2+1)/4Rxe2x80x2), 45xc2x0xe2x89xa6xcex8xe2x89xa690xc2x0.
According to the fifth aspect of the invention, further another image processing apparatus as described in the first aspect of the invention is provided. The inclination calculation means of this image processing apparatus has a modification means which modifies the image data and creates a modified image that corresponds to the image data when the object is rotated, and a repetition means which calculates the amount of change using the amount of change calculation means while having the modification means modify the image. In this case, the inclination calculation means calculates the inclination of the object based on the amount of modification of the image data modified by the modification means when the amount of change satisfies a prescribed condition.
According to the sixth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the modified image is a rotated image of the image data.
According to the seventh aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the modified image is an image obtained by reducing the image data in at least the one direction.
According to the eighth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the inclination calculation means of this image processing apparatus detects the inclination of the object based on the amount of modification of the image data at which the amount of change in at least the one direction is maximized.
According to the ninth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the inclination calculation means of this image processing apparatus detects the inclination of the object based on the amount of modification of the image data at which the amount of change in at least the one direction is minimized.
According to the tenth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the amount of change calculation means of this image processing apparatus has a wavelet transform means which wavelet-transforms the image data, an energy calculation means which calculates the energy of a high frequency component of the image data contained in the wavelet-transformed image data, and an output means which outputs the energy as a value that represents the amount of change.
According to the eleventh aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the amount of change calculation means of this image processing apparatus has a first transform means which wavelet-transforms the image data in a first direction of the object, a second transform means which wavelet-transforms in a second direction distinct from the first direction an image element that represents a high frequency component of the image data wavelet-transformed by the first transform means, a second-stage energy calculation means which calculates the energy of a high frequency component of the image data wavelet-transformed by the second transform means, and a second-stage output means which outputs the energy as a value that represents the sum calculated in a central direction of the two directions.
According to the twelfth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the inclination calculation means of this image processing apparatus obtains a plurality of amounts of modification for the image data when the amount of change satisfies a prescribed condition. Moreover, the inclination calculation means further has an interpolation means which interpolates the plurality of amounts of modification for the image data to obtain an interpolated value and calculates the inclination of the object based on the interpolated value.
According to the thirteenth aspect of the invention, further another image processing apparatus as described in the twelfth aspect of the invention is provided. In this case, the interpolation means calculates the inclination of the object based on the plurality of amounts of modification and the sum calculated for each of the plurality of amounts of modification.
According to the fourteenth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. In this case, the amount of change calculation means of this image processing apparatus has a shift means which shifts the image data by one bit in a direction in which the image data is to be wavelet-transformed, a first wavelet transform means which wavelet-transforms the image data before the image data is shifted by one bit, a second wavelet transform means which wavelet-transforms the image data after the image data is shifted by one bit, a third-stage energy calculation means which calculates the energy of a high frequency component of the image data wavelet-transformed by the first and second wavelet transform means, and a third-stage output means which outputs the energy as a value that represents the sum.
According to the fifteenth aspect of the invention, further another image processing apparatus as described in the tenth aspect of the invention is provided. In this case, the wavelet transform performed by the wavelet transform means is a Haar wavelet transform.
According to the sixteenth aspect of the invention, further another image processing apparatus as described in the tenth aspect of the invention is provided. In this case, the wavelet transform performed by the wavelet transform means is an overlapped sampling wavelet transform which detects all the amounts of change of the image data in a direction in which the wavelet transform is applied.
According to the seventeenth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. This image processing apparatus further has a noise removal means for removing a noise from the image data.
According to the eighteenth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. This image processing apparatus further has an image reduction means which pre-reduces the image data by xc2xd.
According to the nineteenth aspect of the invention, further another image processing apparatus as described in the fifth aspect of the invention is provided. The amount of change calculation means of this image processing apparatus has a means for calculating the sum in a first and second directions of the object. Moreover, the inclination calculation means of this image processing apparatus detects the inclination of the object based on the amounts of change of the image data in the first and second directions.
According to the twentieth aspect of the invention, further another image processing apparatus as described in the nineteenth aspect of the invention is provided. The inclination calculation means of this image processing apparatus detects the inclination of the object based on the amount of modification for the image data obtained by the modification means when the sum calculated in at least one of the first and second directions satisfies a first condition and the amount of modification for the image data obtained by the modification means when the sum calculated in at least the other of the first and second directions satisfies a second condition.
According to the 21st aspect of the invention, further another image processing apparatus as described in the nineteenth aspect of the invention is provided. This image processing apparatus is characterized in that the first direction is substantially perpendicular to the second direction.
According to the 22nd aspect of the invention, further another image processing apparatus as described in the 21st aspect of the invention is provided. This image processing apparatus is characterized as follows. The first condition is that one of the two amounts of change of the image data achieves a minimum, and the second condition is that the other of the two amounts of change of said image data achieves a maximum.
According to the 23rd aspect of the invention, further another image processing apparatus as described in the 21st aspect of the invention is provided. The amount of change calculation means of this image processing apparatus further has a means for calculating the sum calculated in a central direction of the two directions. This image processing apparatus is characterized as follows. The first condition is that the difference between the two amounts of change of the image data achieves a minimum. The second condition is that the sum calculated in the central direction achieves a maximum.
According to the 24th aspect of the invention, further another image processing apparatus as described in the 21st aspect of the invention is provided. The amount of-change calculation means of this image processing apparatus further has a means for calculating the sum calculated in a central direction of said two directions. This image processing apparatus is characterized as follows. The first condition is that the sum calculated in at least one of the two directions achieves a local minimum. The second condition is that the sum calculated in the central direction achieves a minimum.
According to the 25th aspect of the invention, further another image processing apparatus as described in the nineteenth aspect of the invention is provided. The amount of change calculation means of this image processing apparatus detects the inclination of the object based on the amount of modification for the image data when the sum calculated in the first direction becomes substantially equal to the sum calculated in the second direction.
According to the 26th aspect of the invention, further another image processing apparatus as described in the 25th aspect of the invention is provided. The amount of change calculation means of this image processing apparatus further has a means for calculating the sum in a central direction of the two directions. Moreover, the inclination calculation means of this image processing apparatus has a means for detecting the inclination of the object based on the inclination of the object at which the sum calculated in the first direction becomes substantially equal to the sum calculated in the second direction and the inclination of the object at which the sum calculated in the central direction becomes maximum.
According to the 27th aspect of the invention, further another image processing apparatus as described in the nineteenth aspect of the invention is provided. The amount of change calculation means of this image processing apparatus has a two-direction wavelet transform means which wavelet-transforms the image data in the first and second directions, a high-frequency component energy calculation means which calculates the energy of a high frequency component of the image data contained in the image data wavelet-transformed in the first direction by the two-direction wavelet transform means and the energy of a high frequency component of the image data contained in the image data wavelet-transformed in the second direction by the two-direction wavelet transform means, and an amount of change output means which outputs the two energies as values that represent the sum calculated in the first direction and the sum calculated in the second direction.
The above-described summary of the present invention does not list all the essential characteristics of the present invention. Sub-combinations of these characteristics are also covered by the scope of the present invention.